home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / answrbok / 6_3.lha / 6_3 / tst.c < prev    next >
C/C++ Source or Header  |  1993-08-08  |  966b  |  50 lines

  1. * Copyright (c) 1990 by AT&T Bell Telephone Laboratories, Incorporated. */
  2. * The C++ Answer Book */
  3. * Tony Hansen */
  4. * All rights reserved. */
  5. include <string.h>
  6.  
  7. lass string {
  8.    struct srep {
  9. char *s;
  10. int n;
  11.    };
  12.    srep *p;
  13.  
  14. ublic:
  15.    string(char *);    // string x = "abc"
  16.    string();        // string x;
  17.    string(string&);    // string x = string ...
  18.    string& operator=(char *);
  19.    string& operator=(string &);
  20.    ~string();
  21.    char& operator[](int i);
  22.  
  23.    friend class substring;
  24.    string(substring&);
  25. ;
  26.  
  27. lass substring {
  28.    friend class string;
  29.    char *s;
  30.    int len;
  31.    string *str;
  32.  
  33.    substring();        // substring x;
  34.    substring(substring&);    // substring x = substring ...
  35.  
  36. ublic:
  37.    substring(char* chptr,int len,string* stptr);
  38.    substring& operator=(substring &);
  39.    substring& operator=(string &);
  40. ;
  41.  
  42. tring::string(substring& sst)
  43.  
  44.    p = new srep;
  45.    p->s = new char[ sst.len + 1 ];
  46.    strncpy(p->s, sst.s, sst.len);
  47.    p->s[sst.len] = '\0';
  48.    p->n = 1;
  49.  
  50.